package com.clx.chat.controller;

import com.clx.chat.service.ContactService;
import com.clx.common.controller.BaseController;

import com.clx.common.domain.entity.Contact;
import com.clx.common.domain.vo.AjaxResult;
import com.clx.common.domain.vo.TableDataInfo;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 联系人表(Contact)表控制层
 *
 * @author clx
 * @since 2025-02-22 17:33:48
 */
@RestController
@RequestMapping("contact")
@RequiredArgsConstructor
public class ContactController extends BaseController {
    /**
     * 依赖注入
     */
    private final ContactService contactService;

    /**
     * 查询列表
     */

    @GetMapping("/list")
    public TableDataInfo list(Contact contact) {
        List<Contact> list = contactService.selectContactList(contact);
        return getDataTable(list);
    }

    /**
     * 获取详细信息
     */
    @GetMapping("/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(contactService.selectContactById(id));
    }

    /**
     * 新增数据
     */
    @PostMapping("/add")
    public AjaxResult add(@RequestBody Contact contact) {
        return toAjax(contactService.insertContact(contact));
    }

    /**
     * 修改数据
     */
    @PutMapping
    public AjaxResult edit(@RequestBody Contact contact) {
        return toAjax(contactService.updateContact(contact));
    }

    /**
     * 删除数据
     */
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(contactService.deleteContactByIds(ids));
    }

    /**
     * 判断是否添加过联系人
     */
    @GetMapping("/isAdd")
    public AjaxResult isAdd(Contact contact){
        return AjaxResult.success(null,contactService.isAdd(contact));
    }

}
